A Lesson on Runtime Assertion Checking with Frama-C

نویسندگان

  • Nikolai Kosmatov
  • Julien Signoles
چکیده

Runtime assertion checking provides a powerful, highly automatizable technique to detect violations of specified program properties. This paper provides a lesson on runtime assertion checking with Frama-C, a publicly available toolset for analysis of C programs. We illustrate how a C program can be specified in executable specification language e-acsl and how this specification can be automatically translated into instrumented C code suitable for monitoring and runtime verification of specified properties. We show how various errors can be automatically detected on the instrumented code, including C runtime errors, failures in postconditions, assertions, preconditions of called functions, and memory leaks. Benefits of combining runtime assertion checking with other Frama-C analyzers are illustrated as well.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Lesson on Proof of Programs with Frama-C. Invited Tutorial Paper

To help formal verification tools to make their way into industry, they ought to be more widely used in software engineering classes. This tutorial paper serves this purpose and provides a lesson on formal specification and proof of programs with FRAMA-C, an open-source platform dedicated to analysis of C programs, and ACSL, a specification language for C.

متن کامل

Modular Enforcement of Supertype Abstraction and Information Hiding with Client-Side Checking

Static reasoning tools for object-oriented (OO) languages use supertype abstraction, by verifying calls to methods using the specification associated with the receiver’s static type. Unfortunately, contemporary runtime assertion checkers for OO are inconsistent with such static reasoning tools, since they check assertions in an overly-dynamic way on the supplier side. For method calls, such sup...

متن کامل

A Tool Integrating Model Checking into a C Verification Toolset

Frama-C is an extensible C verification framework that includes support for abstract interpretation and deductive verification. We have extended it with model checking based on counterexample guided refinement. This paper discusses our tool and outlines the major challenges faced here, and likely to be faced in other similar tools.

متن کامل

Instrumenting C Programs with Nested Word Monitors

In classical automata-theoretic model checking of safety properties [6], a system model generates a language L of words modeling system executions, and verification involves checking if L∩ L′ = ∅, L′ being the language of words deemed “unsafe” by the specification. This view is also used in recent program analyzers like Blast [5] and Slam [2], where a specification is a word automaton (or monit...

متن کامل

Abstraction-guided Runtime Checking of Assertions on Lists

ion-guided Runtime Checking of Assertions on Lists Alex Gyori, Pranav Garg, Edgar Pek, P. Madhusudan University of Illinois at Urbana-Champaign, Urbana, IL, USA {gyori, garg11, pek1, madhu}@illinois.edu Abstract. We investigate ways to specify and check, at runtime, assertions that express properties of dynamically manipulated linked-list data structures. Checking an assertion involving whether...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013